LINQ to XML হল LINQ (Language Integrated Query)-এর একটি প্রকার যা XML ডেটা কুয়েরি, ম্যানিপুলেশন এবং প্রসেসিং করার জন্য ব্যবহৃত হয়। এটি XML ডেটা থেকে কুয়েরি, ডেটা নির্বাচন, এবং পরিবর্তন করার জন্য LINQ এর সুবিধা সরবরাহ করে। LINQ to XML ব্যবহার করে ডেভেলপাররা XML ডকুমেন্টের মধ্যে সহজেই কুয়েরি চালাতে এবং XML ডকুমেন্টকে আরও কার্যকরভাবে ম্যানিপুলেট করতে পারেন।
LINQ to XML একটি শক্তিশালী টুল, কারণ এটি XML ডেটার সাথে সহজ এবং কার্যকর পদ্ধতিতে কাজ করার জন্য XDocument, XElement, এবং LINQ Query ব্যবহার করতে সহায়ক।
LINQ to XML ব্যবহার করার জন্য, প্রথমে XDocument বা XElement অবজেক্ট তৈরি করতে হয়, যার মাধ্যমে XML ডেটার সাথে কাজ করা যায়। এরপর, LINQ Query ব্যবহার করে XML ডেটা কুয়েরি করা হয় এবং XElement বা XDocument ব্যবহার করে ডেটা পরিবর্তন করা হয়।
XDocument xdoc = XDocument.Load("books.xml");
এখানে XDocument.Load
মেথড ব্যবহার করে একটি XML ডকুমেন্ট লোড করা হয়েছে, যেটি "books.xml" নামক ফাইল থেকে পড়া হয়েছে।
XDocument xdoc = XDocument.Load("books.xml");
var books = from b in xdoc.Descendants("book")
where (int)b.Element("price") > 20
select b;
foreach (var book in books)
{
Console.WriteLine(book.Element("title").Value);
}
এখানে Descendants("book")
ব্যবহার করে XML ডকুমেন্টের সব book
এলিমেন্টের উপর কুয়েরি করা হয়েছে এবং তাদের price এলিমেন্টের মান ২০ এর বেশি হলে, সেই বইগুলোর title প্রদর্শন করা হয়েছে।
XDocument xdoc = XDocument.Load("books.xml");
var titles = from b in xdoc.Descendants("book")
select b.Element("title").Value;
foreach (var title in titles)
{
Console.WriteLine(title); // Output: Book 1, Book 2, ...
}
এখানে XML থেকে book
এলিমেন্টের title মানগুলি নির্বাচন করা হয়েছে এবং তাদের প্রিন্ট করা হয়েছে।
XDocument xdoc = XDocument.Load("books.xml");
xdoc.Root.Add(new XElement("book",
new XElement("title", "New Book"),
new XElement("author", "John Doe"),
new XElement("price", 25)));
xdoc.Save("books.xml"); // নতুন বই ডকুমেন্টে যোগ করা হয়েছে
এখানে একটি নতুন book এলিমেন্ট XML ডকুমেন্টের শিকড়ে (root) যোগ করা হয়েছে।
XDocument xdoc = XDocument.Load("books.xml");
var book = xdoc.Descendants("book")
.Where(b => (string)b.Element("title") == "Old Book")
.FirstOrDefault();
if (book != null)
{
book.Element("title").Value = "Updated Book"; // title পরিবর্তন করা হয়েছে
xdoc.Save("books.xml"); // পরিবর্তন সংরক্ষণ করা হয়েছে
}
এখানে Old Book এর title পরিবর্তন করে Updated Book করা হয়েছে।
XDocument xdoc = XDocument.Load("books.xml");
var bookToRemove = xdoc.Descendants("book")
.Where(b => (string)b.Element("title") == "Book to Remove")
.FirstOrDefault();
if (bookToRemove != null)
{
bookToRemove.Remove(); // book মুছে ফেলা হয়েছে
xdoc.Save("books.xml"); // পরিবর্তন সংরক্ষণ করা হয়েছে
}
এখানে book
এর title অনুযায়ী একটি বই মুছে ফেলা হয়েছে।
LINQ to XML হল XML ডেটার সাথে কাজ করার জন্য একটি শক্তিশালী এবং কার্যকরী পদ্ধতি। এটি XML ডকুমেন্ট কুয়েরি, ডেটা নির্বাচন, ম্যানিপুলেশন, এবং আপডেট করার জন্য LINQ-এর সুবিধা প্রদান করে। LINQ to XML ডেভেলপারদের জন্য খুবই উপকারী, কারণ এটি XML ডেটার উপর কাজ করার সময় সহজ এবং পরিষ্কার কোড লেখার সুযোগ দেয়। তবে বড় XML ডেটা সেটের জন্য পারফরম্যান্সের কিছু সীমাবদ্ধতা থাকতে পারে।
common.read_more